home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- set -e
-
- . /usr/share/debconf/confmodule
-
- THIS_PACKAGE=gdm
- DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
-
- # creating gdm group if he isn't already there
- if ! getent group gdm >/dev/null; then
- addgroup --system gdm
- fi
-
- # creating gdm user if he isn't already there
- if ! getent passwd gdm >/dev/null; then
- adduser --system --ingroup gdm --home /var/lib/gdm gdm
- usermod -c "Gnome Display Manager" gdm
- usermod -d "/var/lib/gdm" gdm
- usermod -g "gdm" gdm
- usermod -s "/bin/false" gdm
- fi
-
- if [ -d /var/lib/gdm ]; then
- chown -R gdm:gdm /var/lib/gdm
- chmod 0750 /var/lib/gdm
- fi
-
- # debconf is not a registry, so we only fiddle with the default file if it
- # does not exist
- if [ ! -e $DEFAULT_DISPLAY_MANAGER_FILE ]; then
- if db_get shared/default-x-display-manager; then
- # workaround debconf passthru bug (#379198)
- if [ -z "$RET" ]; then
- $RET="$THIS_PACKAGE"
- fi
- if [ "$THIS_PACKAGE" != "$RET" ]; then
- echo "Please be sure to run \"dpkg --configure $RET\"."
- fi
- if db_get "$RET"/daemon_name; then
- echo "$RET" > $DEFAULT_DISPLAY_MANAGER_FILE
- fi
- fi
- fi
- # debconf hangs if gdm gets started below without this
- db_stop || true
-
- # update-rc.d levels
- S=30
- K=01
-
- if [ "$1" = "configure" ] && dpkg --compare-versions "$2" lt-nl "2.16.1-1"; then
- # since 2.16.1-1, gdm isn't started from S99 anymore
- if [ -e /etc/rc2.d/S99gdm ]; then
- update-rc.d -f gdm remove >/dev/null
- update-rc.d gdm defaults $S $K
- fi
- elif [ "$1" = "configure" ] && dpkg --compare-versions "$2" le-nl "2.16.4-1.1"; then
- # since after 2.16.4-1.1, gdm isn't started from S21 anymore
- if [ -e /etc/rc2.d/S21gdm ]; then
- update-rc.d -f gdm remove >/dev/null
- update-rc.d gdm defaults $S $K
- fi
- elif [ "$1" = "configure" ] && dpkg --compare-versions "$2" lt-nl "2.20.6-0ubuntu2"; then
- # retroactively fix upgrades from earlier Ubuntu releases
- if [ -e /etc/rc2.d/S13gdm ]; then
- update-rc.d -f gdm remove >/dev/null
- update-rc.d gdm defaults $S $K
- fi
- fi
-
- if [ "$1" = "configure" ] && [ -n "$2" ] && dpkg --compare-versions "$2" lt "2.20"; then
- # D'uh, that's an ugly hack, but upstream changed the syntax
- # of the quoting
- if grep -q '\\"' /etc/gdm/gdm.conf; then
- echo "WARNING: fixing quotes in /etc/gdm/gdm.conf"
- cp -p /etc/gdm/gdm.conf /etc/gdm/gdm.conf.dpkg-old
- sed -i 's/\\"/"/g' /etc/gdm/gdm.conf
- fi
- fi
-
- if [ -x /etc/init.d/gdm ]; then
- update-rc.d gdm defaults $S $K >/dev/null 2>&1
- invoke-rc.d gdm reload || true
- fi
-
- # Automatically added by dh_installmenu
- if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then
- update-menus
- fi
- # End automatically added section
- # Automatically added by dh_scrollkeeper
- if [ "$1" = "configure" ] && which scrollkeeper-update >/dev/null 2>&1; then
- scrollkeeper-update -q
- fi
- # End automatically added section
-
-
- exit 0
-